<!--岗位职责-->

<!--用户权限说明-->
<!--管理员：代码：1，可以做所有的操作-->
<!---->
<template>
  <div style="margin: 0;padding: 0">
    <el-container>
      <!--页面表头设计-->
      <el-header style="height: 7vh">
        <el-link class="headMain" href="http://10.255.96.48:3404/">俄动力质量管理系统</el-link>
        <span class="center-text">岗位职责管理平台</span>
        <el-popover
            placement="top-start"
            title="用户信息"
            width="200"
            trigger="hover">
          <div style="margin-top: 10px">Name：{{useName}}</div>
          <div style="margin-top: 10px">ID:{{useId}}</div>
          <div style="margin-top: 10px" @click="logOut"><el-link>退出</el-link></div>
          <div class="headMain" slot="reference">{{useName}}</div>
        </el-popover>
      </el-header>
      <el-container>
        <el-aside width="200px">
          <el-input
              placeholder="输入关键字进行过滤"
              v-model="filterText">
          </el-input>
          <el-tree
              class="filter-tree"
              :data="departmentTree"
              :props="defaultProps"
              default-expand-all
              @node-click="treeClick"
              :filter-node-method="filterNode"
              ref="tree">
          </el-tree>

        </el-aside>
        <el-container>
          <!--主题设计-->
          <el-main style="height: 79vh;overflow: auto">
            <el-tabs v-model="activeName" @tab-click="handleClick">
              <el-tab-pane label="项目管理" name="first">
                <div style="display: flex; align-items: center;margin-bottom: 10px /* 确保子元素垂直居中，根据需要调整 */">
                  <div style="flex: 1; color: red; font-size: 18px; font-weight: bold; /* 左边的div，占满剩余空间 */">
                    {{positionName}}
                  </div>
                  <div style="width: 100px; /* 右边的div，宽度固定为100px */">
                    <el-link  @click="editJobItem(2,null)" style="display: block; /* 如果需要el-link占满整个div，则设置此样式 */">新增</el-link>
                  </div>
                </div>
                <el-table
                    :data="tableData"
                    height="65vh"
                    border
                    style="width: 100%">
                  <el-table-column
                      prop="positionChinese"
                      label="岗位名称中文"
                      width="110">
                  </el-table-column>
                  <el-table-column
                      prop="jobItem"
                      label="工作项目"
                      width="400">
                  </el-table-column>
                  <el-table-column
                      prop="cycle"
                      label="周期">
                  </el-table-column>
                  <el-table-column
                      prop="completionDate"
                      label="完成日期">
                  </el-table-column>
                  <el-table-column
                      prop="jobCategory"
                      label="工作类别">
                  </el-table-column>
                  <el-table-column
                      prop="usageTime"
                      label="工作用时（min）">
                  </el-table-column>
                  <el-table-column
                      prop="jobSource"
                      label="工作来源">
                  </el-table-column>
                  <el-table-column
                      prop="sectionName"
                      label="所属科室">
                  </el-table-column>
                  <el-table-column
                      prop="departmentName"
                      label="所属部门">
                  </el-table-column>
                  <el-table-column
                      label="编辑"
                      v-slot:default="scope">
                    <el-link @click="editJobItem(1,scope)"><i class="el-icon-edit"></i></el-link>&nbsp;&nbsp;
                    <el-link @click="editJobItem(3,scope)"><i class="el-icon-delete"></i></el-link>&nbsp;&nbsp;
                  </el-table-column>
                </el-table>
              </el-tab-pane>
              <el-tab-pane label="标准工作清单" name="standardWorkList">
                <div>
                  <el-link v-if="standardWorkListData.length===0" @click="standardWorkListShow(1,null)">增加</el-link>
                </div>
                <el-table
                    :data="standardWorkListData"
                    border
                    style="width: 100%"
                    height="69vh">

                  <!-- 项目名称列 -->
                  <el-table-column
                      prop="projectName"
                      label="项目名称"
                      width="300"
                      v-slot:default="scope">
                    <span v-if="languageS==='chinese'">{{scope.row.projectName.split('|*|')[0]}}</span>
                    <span v-else-if="languageS==='english'">{{scope.row.projectName.split('|*|')[1]}}</span>
                    <span v-else-if="languageS==='russian'">{{scope.row.projectName.split('|*|')[2]}}</span>
                  </el-table-column>

                  <!-- 项目描述列 -->
                  <el-table-column
                      prop="projectDes"
                      label="项目描述"
                      v-slot:default="scope">
                    <span v-if="languageS==='chinese'">{{scope.row.projectDes.split('|*|')[0]}}</span>
                    <span v-else-if="languageS==='english'">{{scope.row.projectDes.split('|*|')[1]}}</span>
                    <span v-else-if="languageS==='russian'">{{scope.row.projectDes.split('|*|')[2]}}</span>
                  </el-table-column>

                  <!-- 项目用时列 -->
                  <el-table-column
                      prop="projectTime"
                      label="项目用时"
                      width="120">
                  </el-table-column>

                  <!-- 项目类别列 -->
                  <el-table-column
                      prop="projectType"
                      label="项目类别"
                      width="150"
                      v-slot:default="scope">
                    <span v-if="languageS==='chinese'">{{scope.row.projectType.split('/')[0]}}</span>
                    <span v-else-if="languageS==='english'">{{scope.row.projectType.split('/')[1]}}</span>
                    <span v-else-if="languageS==='russian'">{{scope.row.projectType.split('/')[2]}}</span>
                  </el-table-column>

                  <!-- 项目类别列 -->
                  <el-table-column
                      prop="position"
                      label="所属岗位"
                      width="120">
                  </el-table-column>

                  <!-- 编辑 -->
                  <el-table-column
                      label="编辑"
                      width="120"
                      v-slot:default="scope">
                    <el-link style="margin-left: 8px" @click="standardWorkListShow(1,null)"><i class="el-icon-circle-plus-outline"></i></el-link>
                    <el-link style="margin-left: 8px" @click="standardWorkListShow(2,scope)"><i class="el-icon-edit"></i></el-link>
                    <el-link style="margin-left: 8px" @click="deleteListShow(1,scope)"><i class="el-icon-delete"></i></el-link>
                  </el-table-column>
                </el-table>
              </el-tab-pane>
              <el-tab-pane label="课题清单" name="taskList">
                <div style="margin-bottom: 5px;text-align: right;margin-right:5px ">
                  <el-link v-if="taskListData.length===0" @click="taskListShow(1,null)">新增</el-link>
                </div>
                <el-table
                    :data="taskListData"
                    border
                    style="width: 100%"
                    height="68vh">
                  <el-table-column type="expand"
                    v-slot:default="scope">
                    <div style="margin-left: 10px; margin-right: 10px; padding-left: 10px;padding-right: 10px; border: 1px solid blue;">
                    <el-divider content-position="left"><el-link @click="taskListShow(3,scope)" style="color: #0269fa">工作描述：</el-link></el-divider>
                      <span v-html="scope.row.description"></span>
                      <el-divider content-position="left"><el-link @click="taskListShow(4,scope)" style="color: #0269fa">工作计划：</el-link></el-divider>
                      <span v-html="scope.row.plan"></span>
                      <el-divider content-position="left"><el-link @click="taskListShow(5,scope)" style="color: #0269fa">工作进展：</el-link></el-divider>
                      <span v-html="scope.row.progress"></span>
                      <el-divider content-position="left"><el-link @click="taskListShow(6,scope)" style="color: #0269fa">留言：</el-link></el-divider>
                      <span v-html="scope.row.userComment"></span>
                      <el-divider content-position="left"><el-link @click="taskListShow(7,scope)"  style="color: #0269fa">其他：</el-link></el-divider>
                      <span style="margin-right: 15px">开始时间：{{scope.row.startDate}}</span>
                      <span style="margin-right: 15px">计划时间：{{scope.row.planEndDate}}</span>
                      <span style="margin-right: 15px">结题时间：
                        <span v-if="scope.row.actualEndDate==='' || scope.row.actualEndDate===null || scope.row.actualEndDate===undefined">
                          暂无
                        </span>
                        <span v-else>
                          {{scope.row.actualEndDate}}
                        </span>
                      </span>
                      <span style="margin-right: 15px;margin-bottom: 10px">是否完成：{{scope.row.isFinish}}</span>
                    </div>
                  </el-table-column>
                  <el-table-column
                    label="序号"
                    v-slot:default="scope"
                    width="50">
                    {{scope.$index+1}}
                  </el-table-column>
                  <!-- 课题名称 -->
                  <el-table-column
                      prop="taskName"
                      label="课题名称"
                      width="180">
                  </el-table-column>

                  <!-- 课题描述 -->
                  <el-table-column
                      prop="description"
                      label="课题描述"
                      v-slot:default="scope">
                    <span v-html="scope.row.description"></span>
                  </el-table-column>

                  <!-- 开始时间 -->
                  <el-table-column
                      prop="startDate"
                      label="开始时间"
                      width="100">
                  </el-table-column>

                  <!-- 创建人 -->
                  <el-table-column
                      prop="creator"
                      label="创建人"
                      width="100">
                  </el-table-column>

                  <!-- 负责人 -->
                  <el-table-column
                      prop="manager"
                      label="负责人"
                      width="100">
                  </el-table-column>
                  <!-- 预计完成日期 -->
                  <el-table-column
                      prop="planEndDate"
                      label="计划时间"
                      width="100">
                  </el-table-column>
                  <el-table-column
                      prop="isFinish"
                      label="是否完成"
                      width="80">
                  </el-table-column>

                  <el-table-column
                    label="编辑"
                    v-slot:default="scope"
                    width="100">
                    <el-link style="margin-left: 8px" @click="taskListShow(1,null)"><i class="el-icon-circle-plus-outline"></i></el-link>
                    <el-link style="margin-left: 8px" @click="taskListShow(2,scope)"><i class="el-icon-edit"></i></el-link>
                    <el-link style="margin-left: 8px" @click="deleteListShow(2,scope)"><i class="el-icon-delete"></i></el-link>
                  </el-table-column>
                </el-table>
              </el-tab-pane>
              <el-tab-pane label="待开发" name="fourth">定时任务补偿</el-tab-pane>
            </el-tabs>
          </el-main>
          <el-footer>
            <el-button plain size="small" @click="chooseLanguage('chinese')">中  文</el-button>
            <el-button plain size="small" @click="chooseLanguage('english')">Русский язык</el-button>
            <el-button plain size="small" @click="chooseLanguage('russian')">English</el-button>
          </el-footer>
        </el-container>
      </el-container>
    </el-container>

    <!--弹窗放置区-->
    <!--编辑业务清单用到的弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="editVisible"
        width="650px"
        :before-close="handleClose"
        center>
      <el-form ref="form" :model="tableDataForm" label-width="90px">
        <el-form-item label="工作项目：">
          <el-input v-model="tableDataForm.jobItem"
                    type="textarea"
                    :rows="2"></el-input>
        </el-form-item>
        <el-form-item label="工作类别：">
          <el-select v-model="tableDataForm.jobCategory" clearable placeholder="请选择" style="margin-right: 100px;width: 150px">
            <el-option
                v-for="item in jobCategoryOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
          <span>工作用时(min)：</span>
          <el-input-number v-model="tableDataForm.usageTime" style="width: 150px"></el-input-number>
        </el-form-item>
        <el-form-item label="周期" v-if="tableDataForm.jobCategory==='定常业务'">
          <el-select v-model="tableDataForm.cycle" clearable placeholder="请选择" style="margin-right: 10px;width: 150px">
            <el-option
                v-for="item in cycleOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
          <el-select v-model="completionDate[0]" clearable placeholder="请选择" style="width: 110px;margin-right: 8px"
                     v-if="tableDataForm.cycle==='每周'||tableDataForm.cycle==='每两周'||tableDataForm.cycle==='每月' || tableDataForm.cycle==='每两月'||tableDataForm.cycle==='每季度'||tableDataForm.cycle==='每半年'||tableDataForm.cycle==='每年'">
            <el-option
                v-for="item in completionDateOptions1"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
          <el-select v-model="completionDate[1]" clearable placeholder="请选择" style="width: 110px;margin-right: 8px"
                     v-if="tableDataForm.cycle==='每两周'||tableDataForm.cycle==='每两月'||tableDataForm.cycle==='每季度'||tableDataForm.cycle==='每半年'||tableDataForm.cycle==='每年'">
            <el-option
                v-for="item in completionDateOptions2"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
          <el-select v-model="completionDate[2]" clearable placeholder="请选择" style="width: 110px;margin-right: 8px"
                     v-if="tableDataForm.cycle==='每半年'">
            <el-option
                v-for="item in completionDateOptions3"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="工作来源：">
          <el-select v-model="tableDataForm.jobSource" clearable placeholder="请选择" style="margin-right: 150px;width: 150px">
            <el-option
                v-for="item in jobSourceOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
          <span>负责人：</span>
          <el-input v-model="tableDataForm.head" style="width: 150px"></el-input>
        </el-form-item>
        <el-form-item label="来源说明">
          <el-input v-model="tableDataForm.sourceRecord"
                    type="textarea"
                    :rows="2"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
    <el-button @click="editVisible = false">取 消</el-button>
    <el-button type="primary" @click="editItem">确 定</el-button>
  </span>
    </el-dialog>
    <!--删除业务清单用到的弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="deleteVisible"
        width="30%"
        :before-close="handleClose"
        center>
      <span>确定要删除本条记录吗？</span>
      <span slot="footer" class="dialog-footer">
    <el-button @click="deleteVisible = false">取 消</el-button>
    <el-button type="primary" @click="editItem">确 定</el-button>
  </span>
    </el-dialog>
    <!--删除的弹窗，通用-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="deleteDialog"
        width="30%"
        :before-close="handleClose"
        center>
      <span>确定要删除本条记录吗？</span>
      <span slot="footer" class="dialog-footer">
    <el-button @click="deleteDialog = false">取 消</el-button>
    <el-button type="primary" @click="deleteListOK">确 定</el-button>
  </span>
    </el-dialog>
    <!--标准业务清单用到的弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="standardWorkListFromDialog"
        width="600px"
        :before-close="handleClose"
        center>
      <el-form
          :model="standardWorkListFrom"
          label-width="120px"
          style="width: 500px;"
      >
        <!-- 项目名称 -->
        <el-form-item label="项目名称">
          <el-input v-model="standardWorkListFrom.projectName" clearable></el-input>
        </el-form-item>
        <el-form-item label="Project Name">
          <el-input v-model="text1" clearable></el-input>
        </el-form-item>
        <el-form-item label="Назв. проекта">
          <el-input v-model="text2" clearable></el-input>
        </el-form-item>
        <!-- 项目描述 -->
        <el-form-item label="项目描述">
          <el-input
              type="textarea"
              v-model="standardWorkListFrom.projectDes"
              :rows="2"
              clearable
          ></el-input>
        </el-form-item>
        <el-form-item label="Description">
          <el-input
              type="textarea"
              v-model="text3"
              :rows="2"
              clearable
          ></el-input>
        </el-form-item>
        <el-form-item label="Опис.проекта">
          <el-input
              type="textarea"
              v-model="text4"
              :rows="2"
              clearable
          ></el-input>
        </el-form-item>

        <!-- 项目类别选择器 -->
        <el-form-item label="项目类别">
          <el-select
              v-model="standardWorkListFrom.projectType"
              placeholder="请选择"
              style="width: 100%"
          >
            <el-option
                v-for="item in projectTypeOption"
                :key="item.value"
                :label="item.label"
                :value="item.value"
            ></el-option>
          </el-select>
        </el-form-item>

        <!-- 组合行：项目用时 + 所属岗位 -->
        <el-row :gutter="20">
          <!-- 项目用时 -->
          <el-col :span="12">
            <el-form-item label="项目用时">
              <el-input-number
                  v-model="standardWorkListFrom.projectTime"
                  :min="0"
                  controls-position="right"
                  style="width: 100%"
              ></el-input-number>
            </el-form-item>
          </el-col>

          <!-- 所属岗位 -->
          <el-col :span="12">
            <el-form-item label="所属岗位">
              <el-input
                  v-model="standardWorkListFrom.Position"
                  clearable
                  style="width: 100%"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
    <el-button @click="standardWorkListFromDialog = false">取 消</el-button>
    <el-button type="primary" @click="standardWorkListEditOk">确 定</el-button>
  </span>
    </el-dialog>

    <!--课题业务清单编辑用到的弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="taskListFromDialog"
        width="1000px"
        :before-close="handleClose"
        center>
      <el-form
          :model="taskListFrom"
          label-width="120px"
          :inline="true" >
        <!-- 课题名称 -->
        <el-form-item label="课题名称">
          <el-input v-model="taskListFrom.taskName" clearable style="width: 570px"></el-input>
        </el-form-item>
        <!-- 困难程度 -->
        <el-form-item label="难度" label-width="120">
          <el-select v-model="taskListFrom.difficulty" clearable placeholder="请选择" style="width:180px ">
            <el-option
                v-for="item in difficultyOption"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <!-- 课题描述 -->
        <el-form-item label="课题描述">
          <div ref="editorContainer"
               style="text-align: left; height: 350px; overflow-y: auto;width: 800px">
          </div>
        </el-form-item>
        <!-- 开始时间-->
        <el-form-item label="立项时间">
          <el-date-picker
              v-model="taskListFrom.startDate"
              type="date"
              placeholder="选择日期"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              style="width: 180px">
          </el-date-picker>
        </el-form-item>
        <!-- 计划完成时间-->
        <el-form-item label="计划完成时间">
          <el-date-picker
              v-model="taskListFrom.planEndDate"
              type="date"
              placeholder="选择日期"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              style="width: 180px">
          </el-date-picker>
        </el-form-item>
        <!-- 负责人-->
        <el-form-item label="负责人">
          <el-input v-model="taskListFrom.manager" clearable style="width: 180px"></el-input>
        </el-form-item>
        <!-- 负责工号-->
        <el-form-item label="负责人工号">
          <el-input v-model="taskListFrom.managerId" clearable style="width: 180px"></el-input>
        </el-form-item>
        <!-- 创建人-->
        <el-form-item label="创建人">
          <el-input v-model="taskListFrom.creator" clearable style="width: 180px"></el-input>
        </el-form-item>
        <!-- 创建人-->
        <el-form-item label="创建人工号">
          <el-input v-model="taskListFrom.creatorId" clearable style="width: 180px"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
    <el-button @click="taskListFromDialog = false">取 消</el-button>
    <el-button type="primary" @click="taskListFromEditOk">确 定</el-button>
  </span>
    </el-dialog>
    <!--富文本的一个弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="abundantTextDialog"
        width="850px"
        :before-close="handleClose"
        center>
      <div ref="editorContainer"
           style="text-align: left; height: 350px; overflow-y: auto;width: 800px">
      </div>
      <span slot="footer" class="dialog-footer">
    <el-button @click="abundantTextDialog = false">取 消</el-button>
    <el-button type="primary" @click="taskListFromEditOk">确 定</el-button>
  </span>
    </el-dialog>
    <!--课题业务清单，完成时间，是否完成弹窗-->
    <el-dialog
        :title="messageDialog"
        :visible.sync="isFinishDialog"
        width="350px"
        :before-close="handleClose"
        center>
      <el-form
          :model="taskListFrom"
          label-width="120px"
          :inline="true" >
        <!-- 是否完成 -->
        <el-form-item label="是否完成" label-width="120">
          <el-select v-model="taskListFrom.isFinish" clearable placeholder="请选择" style="width:200px ">
            <el-option
                v-for="item in isFinishOption"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <!-- 结题时间 -->
        <el-form-item label="结题时间" label-width="120">
          <el-date-picker
              v-model="taskListFrom.actualEndDate"
              type="date"
              placeholder="选择日期"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              style="width: 200px">
          </el-date-picker>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
    <el-button @click="taskListFrom = false">取 消</el-button>
    <el-button type="primary" @click="taskListFromEditOk">确 定</el-button>
  </span>
    </el-dialog>

    <!--抽屉放置区域-->

  </div>
</template>

<script>
import {
  Department_List_chinese,
} from "@/configUse";
import _ from "lodash";
import E from "wangeditor";
export default {
  name: "jobDescription",
  components: {
  },
  props: {
  },
  data() {
    return {
      activeName: 'taskList',
      //用户权限相关的变量
      useName:'',//用户名称
      useId:'',//用户编号
      usePower:'',//用户权限
      //记录用户选择的语言
      languageS:'chinese',

      //树形导航栏用到的变量
      //过滤用到的变量
      filterText: '',
      //导航栏用到的树形结构
      departmentTree:Department_List_chinese,
      //导航数据的模版
      defaultProps: {
        children: 'children',
        label: 'label'
      },

      //主表用到的数据
      tableData:[
        {
          //主键
          id:0,
          //岗位名称中文
          positionChinese:'',
          //岗位名称英文
          positionEnglish:'',
          //岗位名称俄文
          positionRussian:'',
          //工作项目
          jobItem:'',
          //周期
          cycle:'',
          //完成日期
          completionDate:'',
          //工作类别
          jobCategory:'',
          //工作用时（min）
          usageTime:0,
          //所属科室
          sectionName:'',
          //所属部门
          departmentName:'',
          //公司名称
          companyName:'',
          //工作来源
          jobSource:'',
          //来源记录
          sourceRecord:'',
          //创建时间
          establishTime:'',
          //修改时间
          updateTime:'',
          //作业指导书
          workBook:'',
          //完成记录
          endRecord:'',
          //责任人
          head:'',
        }
      ],
      //编辑表单用到的数据
      tableDataForm: {
          //主键
          id:0,
          //岗位名称中文
          positionChinese:'',
          //岗位名称英文
          positionEnglish:'',
          //岗位名称俄文
          positionRussian:'',
          //工作项目
          jobItem:'',
          //周期
          cycle:'',
          //完成日期
          completionDate:'',
          //工作类别
          jobCategory:'',
          //工作用时（min）
          usageTime:0,
          //所属科室
          sectionName:'',
          //所属部门
          departmentName:'',
          //公司名称
          companyName:'',
          //工作来源
          jobSource:'',
          //来源记录
          sourceRecord:'',
          //创建时间
          establishTime:'',
          //修改时间
          updateTime:'',
          //删除标记位
          deleteSign:'',
          //作业指导书
          workBook:'',
          //完成记录
          endRecord:'',
          //责任人
          head:'',
        }
      ,
      //显示用户选择的岗位名称
      positionName:'',

      /*弹窗用到的变量*/
      //弹窗的标题显示
      messageDialog:'提示',
      //编辑和新增项目用到的弹窗控制
      editVisible:false,
      //删除按钮用到的弹窗
      deleteVisible:false,
      //删除的弹窗，通用
      deleteDialog:false,
      //记录表单中的完成时间，对应的是completionDate字段下的值
      completionDate:[3],
      //周期的选择器
      cycleOptions:[
          {
        value: '每天',
        label: '每天'
      },
        {
          value: '每周',
          label: '每周'
        },
        {
          value: '每两周',
          label: '每两周'
        },
        {
          value: '每月',
          label: '每月'
        },
        {
          value: '每两月',
          label: '每两月'
        },
        {
          value: '每季度',
          label: '每季度'
        },
        {
          value: '每半年',
          label: '每半年'
        },
        {
          value: '每年',
          label: '每年'
        },
        {
          value: '每2天',
          label: '每2天'
        },
        ],
      //记录不同周期的完成确定日期，对应的是completionDate字段下的值
      completionDateOptions1:[],
      completionDateOptions2:[],
      completionDateOptions3:[],
      //如果周期是每周，弹出的现在项
      weeklyOptions:[
        {
          value: '周一',
          label: '周一'
        },
        {
          value: '周二',
          label: '周二'
        },
        {
          value: '周三',
          label: '周三'
        },
        {
          value: '周四',
          label: '周四'
        },
        {
          value: '周五',
          label: '周五'
        },
      ],
      //如果周期是每两周，弹出的选项
      twoWeekOptions:[
        {
          value: '奇数周',
          label: '奇数周'
        },
        {
          value: '偶数周',
          label: '偶数周'
        },
      ],
      //选择每两月，弹出的选项
      twoMonthOptions:[
        {
          value: '奇数月',
          label: '奇数月'
        },
        {
          value: '偶数月',
          label: '偶数月'
        },
      ],
      //如果周期是每季度，弹出的选项
      quarterOptions:[
        {
          value: '季度第一月',
          label: '季度第一月'
        },
        {
          value: '季度第二月',
          label: '季度第二月'
        },
        {
          value: '季度第三月',
          label: '季度第三月'
        },
      ],
      //如果需要选择那一天的话，使用这个数据
      everydayOptions:[
        {
          value: '01',
          label: '01'
        },
        {
          value: '02',
          label: '02'
        },
        {
          value: '03',
          label: '03'
        },
        {
          value: '04',
          label: '04'
        },
        {
          value: '05',
          label: '05'
        },
        {
          value: '06',
          label: '06'
        },
        {
          value: '07',
          label: '07'
        },
        {
          value: '08',
          label: '08'
        },
        {
          value: '09',
          label: '09'
        },
        {
          value: '10',
          label: '10'
        },
        {
          value: '11',
          label: '11'
        },
        {
          value: '12',
          label: '12'
        },
        {
          value: '13',
          label: '13'
        },
        {
          value: '14',
          label: '14'
        },
        {
          value: '15',
          label: '15'
        },
        {
          value: '16',
          label: '16'
        },
        {
          value: '17',
          label: '17'
        },
        {
          value: '18',
          label: '18'
        },
        {
          value: '19',
          label: '19'
        },
        {
          value: '20',
          label: '20'
        },
        {
          value: '21',
          label: '21'
        },
        {
          value: '22',
          label: '22'
        },
        {
          value: '23',
          label: '23'
        },
        {
          value: '24',
          label: '24'
        },
        {
          value: '25',
          label: '25'
        },
        {
          value: '26',
          label: '26'
        },
        {
          value: '27',
          label: '27'
        },
      ],
      //需要选择月份的数据
      monthOptions:[
        {
          value: '01月',
          label: '01月'
        },
        {
          value: '02月',
          label: '02月'
        },
        {
          value: '03月',
          label: '03月'
        },
        {
          value: '04月',
          label: '04月'
        },
        {
          value: '05月',
          label: '05月'
        },
        {
          value: '06月',
          label: '06月'
        },
        {
          value: '07月',
          label: '07月'
        },
        {
          value: '08月',
          label: '08月'
        },
        {
          value: '09月',
          label: '09月'
        },
        {
          value: '10月',
          label: '10月'
        },
        {
          value: '11月',
          label: '11月'
        },
        {
          value: '12月',
          label: '12月'
        },
      ],
      //选择日期的奇偶
      dayOptions:[
        {
          value: '奇数日',
          label: '偶数日'
        },
      ],
      //记录是定常业务还是触发执行业务
      jobCategoryOptions:[
        {
          value: '定常业务',
          label: '定常业务'
        },
        {
          value: '触发业务',
          label: '触发业务'
        },
      ],
      //工作来源的选择项
      jobSourceOptions:[
        {
          value: '体系要求',
          label: '体系要求'
        },
        {
          value: '部门要求',
          label: '部门要求'
        },
      ],

      //用户选择类型的变量
      //记录用户选择的是对工作条目那种操作：1：编辑；2.增加，3.删除；
      jobItemDoe:0,
      //记录用户点击的大表中的数据
      tableDataScope:null,
      //记录用户点击的树形导航信息
      treeNode:null,

      //标准工作清单的大表
      standardWorkListData:[{
        id:null,//主键
        establishTime:'',//创建时间
        updateTime:'',//修改时间
        deleteSign:1,//删除标记
        editName:'',//编辑人

        //项目名称
        projectName:'',
        //项目描述
        projectDes:'',
        //项目用时
        projectTime:0,
        //项目类别
        projectType:'问题分析',
        //所属岗位
        position:'',
      }],
      //标准工作清单的From表单
      standardWorkListFrom:{
        id:null,//主键
        establishTime:'',//创建时间
        updateTime:'',//修改时间
        deleteSign:1,//删除标记
        editName:'',//编辑人

        //项目名称
        projectName:'',
        //项目描述
        projectDes:'',
        //项目用时
        projectTime:0,
        //项目类别
        projectType:'问题分析',
        //所属岗位
        position:'',
      },
      //标准工作清单的Doe
      standardWorkListDoe:0,
      //课题清单的大表数据
      taskListData: [{
        id:null,//主键
        establishTime:'',//创建时间
        updateTime:'',//修改时间
        deleteSign:1,//删除标记
        editName:'',//编辑人

        taskName: '',        // 课题名称 → 简化为 name
        description: '',        // 课题描述 → 简化为 desc（description缩写）
        startDate: '',       // 开始时间 → 简化为 start（startTime可缩写）
        planEndDate: '',     // 计划完成日期 → 强调计划性，planEnd（plan+end）
        creator: '',     //创建人
        plan: '',        // 工作计划 → 保持原意，直接使用 plan
        manager:'',      // 负责人
        progress: '',    // 工作进展 → 保持原意，直接使用 progress
        userComment: '',     // 留言 → 保持原意，直接使用 comment
        actualEndDate: '',   // 实际完成日期 → 强调实际，actualEnd（actual+end）
        difficulty: '',  // 难易程度 → 保持原意，直接使用 difficulty
        score: 0,       // 得分 → 保持原意，直接使用 score
        feedback: '',     // 评价 → 保持原意，直接使用 feedback
        isFinish:'No'//是否完成
      }],
      //课题清单的From
      taskListFrom:{
        id:null,//主键
        establishTime:'',//创建时间
        updateTime:'',//修改时间
        deleteSign:1,//删除标记
        editName:'',//编辑人

        taskName: '',        // 课题名称 → 简化为 name
        description: '',        // 课题描述 → 简化为 desc（description缩写）
        startDate: '',       // 开始时间 → 简化为 start（startTime可缩写）
        planEndDate: '',     // 计划完成日期 → 强调计划性，planEnd（plan+end）
        creator: '',     //创建人
        creatorId:'',     //创建人工号
        plan: '',        // 工作计划 → 保持原意，直接使用 plan
        manager:'',      // 负责人
        managerId:'',   //负责人工号；
        progress: '',    // 工作进展 → 保持原意，直接使用 progress
        userComment: '',     // 留言 → 保持原意，直接使用 comment
        actualEndDate: '',   // 实际完成日期 → 强调实际，actualEnd（actual+end）
        difficulty: '',  // 难易程度 → 保持原意，直接使用 difficulty
        score: 0,       // 得分 → 保持原意，直接使用 score
        feedback: '',     // 评价 → 保持原意，直接使用 feedback
        isFinish:'No'//是否完成
      },
      //课题清单的Scope
      taskListScope:null,
      //课题清单的Doe
      taskListDoe:0,
      //标准工作清单的Scope
      standardWorkListScope:null,
      //项目类别选择器
      projectTypeOption:[
        {value:'问题分析/Problem Analysis/Анализ проблем',label: '问题分析/Problem Analysis/Анализ проблем'},
        {value:'组织会议/Organize Meeting/Организация встречи',label: '组织会议/Organize Meeting/Организация встречи'},
        {value:'编制文件/Document Preparation/Подготовка документов',label: '编制文件/Document Preparation/Подготовка документов'},
        {value:'编制方案/Scheme Development/Разработка схемы',label: '编制方案/Scheme Development/Разработка схемы'},
        {value:'质量审核/Quality Audit/Аудит качества',label: '质量审核/Quality Audit/Аудит качества'}
      ],
      //
      isFinishOption:[
        {label: 'Yes',value:'Yes'},
        {label: 'No',value:'No'}
      ],

      //控制标准工作打开的窗口
      standardWorkListFromDialog:false,
      //控制一个富文本的弹窗
      abundantTextDialog:false,
      //控制一个日期和是否完成
      isFinishDialog:false,
      //控制课题清单编辑的弹窗
      taskListFromDialog:false,

      //富文本的变量
      editor:null,
      editor1:null,
      editor2:null,

      //临时变量
      //删除的类别
      deleteListDoe:0,
      //第一个文本框
      text1:'',
      //第二个文本框
      text2:'',
      //第三个文本框
      text3:'',
      //第四个文本框
      text4:'',

      //选择器
      //困难程度的选择器
      difficultyOption: [
        {
          value: '简单/Simple/Простой',
          label: '简单/Simple/Простой'
        },
        {
          value: '中等/Medium/Средний',
          label: '中等/Medium/Средний'
        },
        {
          value: '困难/Hard/Сложный',
          label: '困难/Hard/Сложный'
        }
      ]
    }
  },
  watch: {
    filterText(val) {
      this.$refs.tree.filter(val);
    },
    'tableDataForm.cycle'(newVal) {
      // 当选择发生变化时，执行这个函数
      for (let i = 0; i < 3; i++) {
        this.completionDate[i]=''
      }
      this.tableDataForm.completionDate=''
      if (newVal==='每周'){
        this.completionDateOptions1=this.weeklyOptions
      }
      else if (newVal==='每两周'){
        this.completionDateOptions1=this.twoWeekOptions
        this.completionDateOptions2=this.weeklyOptions
      }
      else if (newVal==='每月'){
        this.completionDateOptions1=this.everydayOptions
      }
      else if (newVal==='每两月'){
        this.completionDateOptions1=this.twoMonthOptions
        this.completionDateOptions2=this.everydayOptions
      }
      else if (newVal==='每季度'){
        this.completionDateOptions1=this.quarterOptions
        this.completionDateOptions2=this.everydayOptions
      }
      else if (newVal==='每半年'){
        this.completionDateOptions1=this.monthOptions
        this.completionDateOptions2=this.monthOptions
        this.completionDateOptions3=this.everydayOptions
      }
      else if (newVal==='每年'){
        this.completionDateOptions1=this.monthOptions
        this.completionDateOptions2=this.everydayOptions
      }
      else if (newVal==='每2天'){
        this.completionDateOptions1=this.dayOptions
      }
    },
  },
  methods: {
    //查询用户信息的函数
    inquiry(){
      //输入用户编号，向后端查询信息
      const useId=localStorage.getItem('userName').replace(/"/g, '');
      this.$request.post('/useQueryPower',{
        queryFiledName:'systemDocument',
        userId:useId,
      }).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        }else {
          this.useName=result.data.name
          this.usePower=result.data.systemDocument
          this.useId=useId
        }
      })
    },
    //退出登录
    logOut(){
      localStorage.removeItem('u_token');
      localStorage.removeItem('userName')
      this.$router.push('UserLogin')
    },
    //过滤导航栏内容
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
    },
    //tab列表切换
    handleClick(tab, event) {
      console.log(tab, event);
    },
    //弹窗无意关闭用到的函数
    handleClose(done) {
      this.$confirm('确认关闭？')
          /* eslint-disable-next-line no-unused-vars */
          .then(_ => {
            done();
          })
          /* eslint-disable-next-line no-unused-vars */
          .catch(_ => {});
    },
    //通用
    chooseLanguage(val){
      this.languageS=val
    },
    //单击导航的函数
    treeClick(data,node){
      this.treeNode=node
      if (node.level===3){
        //数据清空
        this.positionName=''
        this.tableData=[]
        for (let i = 0; i < 3; i++) {
          this.completionDate[i]=''
        }
        //形成表头内容
        this.positionName=node.parent.parent.label+'-'+node.parent.label+'-'+data.label
        //向后端查询本岗位下的业务清单
        this.$request.post('queryJobDescription',{
          positionChinese:data.label,
          sectionName:node.parent.label,
          departmentName:node.parent.parent.label
        }).then(result=>{
          if (result.code === 401) {
            this.$router.push('UserLogin')
            alert("您未登录，请登录")
          } else {
            this.tableData=result.data
            console.log(result.data)
          }
        })
      }
    },
    //编辑、增加工作条目
    editJobItem(doe,scope){
      if (this.treeNode===null){
        alert("请先选择岗位")
        return;
      }
      if (this.treeNode.label<3){
        alert("请先选择岗位")
        return;
      }
      if (this.positionName===''){
        alert("请先选择岗位")
        return
      }
      this.jobItemDoe=doe
      if (doe===1){
        this.messageDialog='您正在编辑工作内容'
        this.tableDataScope=scope
        this.tableDataForm=_.cloneDeep(scope.row)
        //组合变量完成日期的数据
        const temp=scope.row.completionDate.split('-')
        for (let i = 0; i < temp.length; i++) {
          this.completionDate[i]=temp[i]
        }
        this.editVisible=true
      }
      //增加一项工作内容
      else if (doe===2){
        this.messageDialog='您正在新增工作内容'
        //数据初始化
        for (let i = 0; i < 2; i++) {
          this.completionDate[i]=''
        }

        this.tableDataForm= {
          //主键
          id:0,
              //岗位名称中文
              positionChinese:'',
              //岗位名称英文
              positionEnglish:'',
              //岗位名称俄文
              positionRussian:'',
              //工作项目
              jobItem:'',
              //周期
              cycle:'',
              //完成日期
              completionDate:'',
              //工作类别
              jobCategory:'',
              //工作用时（min）
              usageTime:0,
              //所属科室
              sectionName:'',
              //所属部门
              departmentName:'',
              //公司名称
              companyName:'',
              //工作来源
              jobSource:'',
              //来源记录
              sourceRecord:'',
              //创建时间
              establishTime:'',
              //修改时间
              updateTime:'',
              //删除标记位
              deleteSign:'',
              //作业指导书
              workBook:'',
              //完成记录
              endRecord:'',
              //责任人
              head:'',
        }

        this.editVisible=true
      }
      else if (doe===3){
        this.deleteVisible=true
      }
    },
    //单击增加/修改工作项目的弹窗中“确定”按钮
    editItem(){
      if (this.tableDataForm===''){
        alert("请选择业务类型")
        return;
      }
      if (this.jobItemDoe!==3 || this.tableDataForm.jobCategory==='定常业务'){
        //校验是否未正整数的表达式
        const regex = /^[1-9]\d*$/;
        //数据校验
        if (this.tableDataForm.jobItem===''){
          alert('工作项目未填写，请填写')
          return;
        }
        else if (this.tableDataForm.jobCategory===''){
          alert('工作类别未填写，请选择')
          return;
        }
        else if (this.tableDataForm.usageTime===''){
          alert('工作用时未设置，请填写')
          return;
        }
        else if (!regex.test(this.tableDataForm.usageTime)){
          alert('工作用时非正整数，请修改')
          return;
        }
        else if (this.tableDataForm.jobSource===''){
          alert('工作来源未选择，请选择')
          return;
        }
        else if (this.tableDataForm.sourceRecord===''){
          alert('来源记录未填写，请填写')
          return;
        }
        else if (this.tableDataForm.cycle==='每周'){
          if (this.completionDate[0]===''){
            alert('未选择周几完成，请选择')
            return
          }
        }
        else if (this.tableDataForm.cycle==='每两周'){
          if (this.completionDate[0]===''){
            alert('请选择那周完成')
            return;
          }
          else if (this.completionDate[1]===''){
            alert('请选择周几完成')
            return;
          }
        }
        else if (this.tableDataForm.cycle==='每月'){
          if (this.completionDate[0]===''){
            alert('那一天完成未选择，请选择')
            return;
          }
        }
        else if (this.tableDataForm.cycle==='每两月'){
          if (this.completionDate[0]===''){
            alert('请选择哪个月完成')
            return;
          }
          else if (this.completionDate[1]===''){
            alert('请选择哪天完成')
            return;
          }
        }
        else if (this.tableDataForm.cycle==='每季度'){
          if (this.completionDate[0]===''){
            alert('请选择哪个月完成')
            return;
          }
          else if (this.completionDate[1]===''){
            alert('请选择哪天完成')
            return;
          }
        }
        else if (this.tableDataForm.cycle==='每半年'){
          if (this.completionDate[0]===''){
            alert('请选择上半年完成的月份')
            return;
          }
          else if (this.completionDate[1]===''){
            alert('请选择下半年完成的月份')
            return;
          }
          else if (this.completionDate[2]===''){
            alert('请选择哪天完成')
            return;
          }
        }
        else if (this.tableDataForm.cycle==='每年'){
          if (this.completionDate[0]===''){
            alert('请选择哪月完成')
            return;
          }
          else if (this.completionDate[1]===''){
            alert('请选择哪天完成')
          }
        }
      }
      if (this.jobItemDoe!==3 || this.tableDataForm.jobCategory==='触发业务'){
        //校验是否未正整数的表达式
        const regex = /^[1-9]\d*$/;
        //数据校验
        if (this.tableDataForm.jobItem===''){
          alert('工作项目未填写，请填写')
          return;
        }
        else if (this.tableDataForm.usageTime===''){
          alert('工作用时未设置，请填写')
          return;
        }
        else if (!regex.test(this.tableDataForm.usageTime)){
          alert('工作用时非正整数，请修改')
          return;
        }
        else if (this.tableDataForm.jobSource===''){
          alert('工作来源未选择，请选择')
          return;
        }
        else if (this.tableDataForm.sourceRecord===''){
          alert('来源记录未填写，请填写')
          return;
        }
      }
        //是编辑一条项目
        if (this.jobItemDoe===1){
          if (this.tableDataForm.jobCategory==='定常业务'){
            //组合完成时间completionDate
            if (this.tableDataForm.cycle==='每天'){
              this.tableDataForm.completionDate='每天'
            }
            else if (this.tableDataForm.cycle==='每周'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }
            else if (this.tableDataForm.cycle==='每两周'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每月'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }
            else if (this.tableDataForm.cycle==='每两月'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每季度'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每半年'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]+'-'+this.completionDate[2]
            }
            else if (this.tableDataForm.cycle==='每年'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每2天'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }
          }
          else if (this.tableDataForm.jobCategory==='触发业务'){
            this.tableDataForm.cycle=''
            this.tableDataForm.completionDate=''
          }

          //向后端发送请求，修改数据
          this.$request.post('editJobDescription',this.tableDataForm).then(result=>{
            if (result.code === 401) {
              this.$router.push('UserLogin')
              alert("您未登录，请登录")
            } else {
              //向后端查询本岗位下的业务清单
              this.$request.post('queryJobDescription',{
                positionChinese:this.treeNode.data.label,
                sectionName:this.treeNode.parent.label,
                departmentName:this.treeNode.parent.parent.label
              })
                  .then(result=>{
                    if (result.code === 401) {
                      this.$router.push('UserLogin')
                      alert("您未登录，请登录")
                    } else {
                      this.tableData=result.data
                    }
                  })
              alert(result.data)
              this.editVisible=false
            }
          })
        }
        //是增加一条项目
        else if (this.jobItemDoe===2){
          if (this.tableDataForm.jobCategory==='定常业务'){
            /*组合数据*/
            //组合中文的岗位名称
            this.tableDataForm.positionChinese=this.positionName.split('-')[2]
            //组合中文的科室名称
            this.tableDataForm.sectionName=this.positionName.split('-')[1]
            //组合中文的部门名称
            this.tableDataForm.departmentName=this.positionName.split('-')[0]
            //组合完成时间completionDate
            if (this.tableDataForm.cycle==='每天'){
              this.tableDataForm.completionDate='每天'
            }
            else if (this.tableDataForm.cycle==='每周'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }
            else if (this.tableDataForm.cycle==='每两周'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每月'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }
            else if (this.tableDataForm.cycle==='每两月'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每季度'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每半年'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]+'-'+this.completionDate[2]
            }
            else if (this.tableDataForm.cycle==='每年'){
              this.tableDataForm.completionDate=this.completionDate[0]+'-'+this.completionDate[1]
            }
            else if (this.tableDataForm.cycle==='每2天'){
              this.tableDataForm.completionDate=this.completionDate[0]
            }

          }
          else if (this.tableDataForm.jobCategory==='触发业务'){
            /*组合数据*/
            //组合中文的岗位名称
            this.tableDataForm.positionChinese=this.positionName.split('-')[2]
            //组合中文的科室名称
            this.tableDataForm.sectionName=this.positionName.split('-')[1]
            //组合中文的部门名称
            this.tableDataForm.departmentName=this.positionName.split('-')[0]
            //组合完成时间completionDate
            this.tableDataForm.cycle=''
            this.tableDataForm.completionDate=''
          }
          //组合删除标记位
          this.tableDataForm.deleteSign=1
          //向后端发送数据
          this.$request.post('insertItemJobDescription',this.tableDataForm).then(result=>{
            if (result.code === 401) {
              this.$router.push('UserLogin')
              alert("您未登录，请登录")
            }
            else {
              //组合数据
              //向后端查询本岗位下的业务清单
              this.$request.post('queryJobDescription',{
                positionChinese:this.treeNode.data.label,
                sectionName:this.treeNode.parent.label,
                departmentName:this.treeNode.parent.parent.label
              }).then(result=>{
                if (result.code === 401) {
                  this.$router.push('UserLogin')
                  alert("您未登录，请登录")
                } else {
                  //向后端查询本岗位下的业务清单
                  this.$request.post('queryJobDescription',{
                    positionChinese:this.treeNode.data.label,
                    sectionName:this.treeNode.parent.label,
                    departmentName:this.treeNode.parent.parent.label
                  })
                      .then(result=>{
                        if (result.code === 401) {
                          this.$router.push('UserLogin')
                          alert("您未登录，请登录")
                        } else {
                          this.tableData=result.data
                          console.log(result.data)
                        }
                      })
                  this.tableData=result.data
                }
                alert(result.data)
              })
              this.editVisible=false
            }
          })
        }
        //是删除一条项目
        else if (this.jobItemDoe===3){
          //向后端发送请求，删除信息
          this.$request.post('deleteJobDescription',this.tableDataForm).then(result=>{
            if (result.code === 401) {
              this.$router.push('UserLogin')
              alert("您未登录，请登录")
            }
            else {
              //向后端查询本岗位下的业务清单
              this.$request.post('queryJobDescription',{
                positionChinese:this.treeNode.data.label,
                sectionName:this.treeNode.parent.label,
                departmentName:this.treeNode.parent.parent.label
              })
                  .then(result=>{
                    if (result.code === 401) {
                      this.$router.push('UserLogin')
                      alert("您未登录，请登录")
                    } else {
                      this.tableData=result.data
                    }
                  })
              alert(result.data)
              this.editVisible=false
            }
          })
        }
    },
    //通用：删除的弹窗
    deleteListShow(doe,scope){
      this.deleteListDoe=doe
      //是标准工作中的删除
      if (doe===1){
        this.messageDialog='您正在删除本条标准工作'
        this.standardWorkListScope=scope
        this.standardWorkListFrom=_.cloneDeep(scope.row)
        this.deleteDialog=true
      }
      //是工作课题中的删除
      else if (doe===2){
        this.messageDialog='您正在删除本条重点课题'
        this.taskListScope=scope
        this.taskListFrom=_.cloneDeep(scope.row)
        this.deleteDialog=true
      }
    },
    //通用：在删除的弹窗上点击OK按钮
    deleteListOK(){
      //是删除一行标准工作的一条
      if (this.deleteListDoe===1){
        this.standardWorkListFrom.deleteSign=0
        this.upDataStandardWorkList().then(()=>{
          this.standardWorkListData.splice(this.standardWorkListScope.$index,1)
          this.deleteDialog=false
        })
      }
      //是工作课题中的删除
      if (this.deleteListDoe===2){
        this.taskListFrom.deleteSign=0
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1)
        this.deleteDialog=false})
      }
    },
    //对标准工作中，进行增加、编辑操作，显示对应的弹窗
    standardWorkListShow(doe,scope){
      this.standardWorkListDoe=doe
      this.standardWorkListScope=scope
      //是要插入一行标准工作项目
      if (doe===1){
        this.text1=''
        this.text2=''
        this.text3=''
        this.text4=''
        this.messageDialog='您正在插入一条标准工作清单'
        this.standardWorkListFrom={
              id:null,//主键
              establishTime:'',//创建时间
              updateTime:'',//修改时间
              deleteSign:1,//删除标记
              editName:this.useName+'/'+this.useId,//编辑人

              //项目名称
              projectName:'',
              //项目描述
              projectDes:'',
              //项目用时
              projectTime:0,
              //项目类别
              projectType:'',
              //所属岗位
              Position:'',
        }
        this.standardWorkListFromDialog=true
      }
      else if (doe===2){
        this.messageDialog='您正在修改一条标准工作项目'
        this.standardWorkListFrom=_.cloneDeep(scope.row)
        this.standardWorkListFrom.projectName=scope.row.projectName.split('|*|')[0]
        this.text1=scope.row.projectName.split('|*|')[1]
        this.text2=scope.row.projectName.split('|*|')[2]

        this.standardWorkListFrom.projectDes=scope.row.projectDes.split('|*|')[0]
        this.text3=scope.row.projectDes.split('|*|')[1]
        this.text4=scope.row.projectDes.split('|*|')[2]
        this.standardWorkListFromDialog=true
      }
    },
    //对标准工作中，进行增加、编辑操作，显示对应的弹窗
    taskListShow(doe,scope){
      this.taskListDoe=doe
      this.taskListScope=scope
      //插入一行数据
      if (doe===1){
        this.messageDialog='您正在插入一项课题'
        this.taskListFrom={
          id:null,//主键
          establishTime:'',//创建时间
          updateTime:'',//修改时间
          deleteSign:1,//删除标记
          editName:this.useName+'/'+this.useId,//编辑人

          taskName: '',        // 课题名称 → 简化为 name
          description: '',        // 课题描述 → 简化为 desc（description缩写）
          startDate: '',       // 开始时间 → 简化为 start（startTime可缩写）
          planEndDate: '',     // 计划完成日期 → 强调计划性，planEnd（plan+end）
          creator: this.useName,     //创建人
          creatorId: this.useId,
          plan: '',        // 工作计划 → 保持原意，直接使用 plan
          manager:'',      // 负责人
          progress: '',    // 工作进展 → 保持原意，直接使用 progress
          userComment: '',     // 留言 → 保持原意，直接使用 comment
          actualEndDate: '',   // 实际完成日期 → 强调实际，actualEnd（actual+end）
          difficulty: '',  // 难易程度 → 保持原意，直接使用 difficulty
          score:0,       // 得分 → 保持原意，直接使用 score
          feedback: '',     // 评价 → 保持原意，直接使用 feedback
          isFinish:'No'
        }
        this.taskListFromDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html('')
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改一行：修改表头内容
      else if (doe===2){
        this.messageDialog='您正在修改一项课题'
        this.taskListFrom=_.cloneDeep(scope.row)
        this.taskListFromDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html(this.taskListFrom.description)
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改：单独修改课题描述
      else if (doe===3){
        this.taskListFrom=_.cloneDeep(scope.row)
        this.messageDialog='您正在编辑课题描述'
        this.abundantTextDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html(this.taskListFrom.description)
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改：单独修改课题计划
      else if (doe===4){
        this.taskListFrom=_.cloneDeep(scope.row)
        this.messageDialog='您正在编辑课题计划'
        this.abundantTextDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html(this.taskListFrom.plan)
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改：单独修改课题进展
      else if (doe===5){
        this.taskListFrom=_.cloneDeep(scope.row)
        this.messageDialog='您正在编辑课题进展'
        this.abundantTextDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html(this.taskListFrom.progress)
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改：单独修改课题留言
      else if (doe===6){
        this.taskListFrom=_.cloneDeep(scope.row)
        this.messageDialog='您正在编辑课题留言'
        this.abundantTextDialog=true
        this.$nextTick(() => {
          // 简单延迟等待动画完成（时间值需要根据实际动画时长调整）
          setTimeout(() => {
            this.initEditor();
            this.editor.txt.html(this.taskListFrom.userComment)
          }, 300) // 300ms 适配大多数基础动画时长
        })
      }
      //修改：单独修改课题是否完成
      else if (doe===7){
        this.taskListFrom=_.cloneDeep(scope.row)
        this.messageDialog='您正在编辑课题结题信息'
        this.isFinishDialog=true
      }
    },
    //对标准工作中，点击确定按钮
    async standardWorkListEditOk() {
      //组合数据
      if (this.text1 === '') {
        this.text1 = 'Please enter'
      }
      if (this.text2 === '') {
        this.text2 = 'Пожалуйста'
      }
      if (this.text3 === '') {
        this.text3 = 'Please enter'
      }
      if (this.text4 === '') {
        this.text4 = 'Пожалуйста'
      }

      //组合数据
      this.standardWorkListFrom.projectName = this.standardWorkListFrom.projectName + '|*|' + this.text1 + '|*|' + this.text2
      this.standardWorkListFrom.projectDes = this.standardWorkListFrom.projectDes + '|*|' + this.text3 + '|*|' + this.text4
      //是插入一条数据
      if (this.standardWorkListDoe === 1) {
        // 等待插入完成
        await this.insertStandardWorkList().then(async data => {
          if (data === '插入成功') {
            // 重新查询全部数据（推荐）
            this.standardWorkListData = await this.inquiryStandardWorkListAll()
            this.standardWorkListFromDialog=false
          }
        })
      }
      //是修改一条数据
      else if (this.standardWorkListDoe===2){
        this.upDataStandardWorkList(this.standardWorkListFrom).then(()=>{
          this.standardWorkListData.splice(this.standardWorkListScope.$index,1,this.standardWorkListFrom)
          this.standardWorkListFromDialog=false
        })
      }
    },
    //对课题中，点击确定按钮
    async taskListFromEditOk() {
      //数据校验
      if (this.taskListFrom.taskName === '' || this.taskListFrom.taskName === null || this.taskListFrom.taskName === undefined) {
        this.$message.error('课题名称未填写')
        return
      } else if (this.taskListFrom.startDate === '' || this.taskListFrom.startDate === null || this.taskListFrom.startDate === undefined) {
        this.$message.error('开始时间未填写')
        return;
      } else if (this.taskListFrom.planEndDate === '' || this.taskListFrom.planEndDate === null || this.taskListFrom.planEndDate === undefined) {
        this.$message.error('计划完成时间')
        return;
      } else if (this.taskListFrom.manager === '' || this.taskListFrom.manager === null || this.taskListFrom.manager === undefined) {
        this.$message.error('负责人未填写')
        return;
      } else if (this.taskListFrom.managerId === '' || this.taskListFrom.managerId === null || this.taskListFrom.managerId === undefined) {
        this.$message.error('负责人工号未填写')
        return;
      } else if (this.taskListFrom.creator === '' || this.taskListFrom.creator === null || this.taskListFrom.creator === undefined) {
        this.$message.error('创建人未填写')
        return;
      } else if (this.taskListFrom.creatorId === '' || this.taskListFrom.creatorId === null || this.taskListFrom.creatorId === undefined) {
        this.$message.error('创建人工号未填写')
        return;
      }
      //对课题中的项目进行插入
      if (this.taskListDoe === 1) {
        this.taskListFrom.description=this.editor.txt.html()
        await this.insertTaskList().then(async () => {
          //重新查数据
          this.taskListData = await this.inquiryTaskListAll()
          this.taskListFromDialog=false
        })
      }
      //对课题中的项目进行修改,和单独修改课题描述
      else if (this.taskListDoe===2 || this.taskListDoe===3){
        //组合数据
        this.taskListFrom.description=this.editor.txt.html()
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1,this.taskListFrom)
          this.taskListFromDialog=false
          this.abundantTextDialog=false
        })
      }
      else if (this.taskListDoe===4){
        //组合数据
        this.taskListFrom.plan=this.editor.txt.html()
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1,this.taskListFrom)
          this.abundantTextDialog=false
        })
      }
      else if (this.taskListDoe===5){
        //组合数据
        this.taskListFrom.progress=this.editor.txt.html()
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1,this.taskListFrom)
          this.abundantTextDialog=false
        })
      }
      else if (this.taskListDoe===6){
        //组合数据
        this.taskListFrom.userComment=this.editor.txt.html()
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1,this.taskListFrom)
          this.abundantTextDialog=false
        })
      }
      else if (this.taskListDoe===7){
        this.upDataTaskList().then(()=>{
          this.taskListData.splice(this.taskListScope.$index,1,this.taskListFrom)
          this.isFinishDialog=false
        })
      }
    },
    //辅助函数：  初始化 wangEditor
    initEditor() {
      // 检查是否已经存在编辑器实例
      if (this.editor) {
        return; // 如果已经存在，则直接返回，不重复初始化
      }
      this.editor = new E(this.$refs.editorContainer);
      this.editor.config.menus = [
        'head',
        'bold',
        'italic',
        'underline',
        'strikeThrough',
        'foreColor',
        'backColor',
        'list',
        'justify',
        'table',
        // 其他你需要的菜单...
      ]
      this.editor.create();
    },
    //辅助函数，对标准工作中，插入一行数据
    async insertStandardWorkList(){
      return  this.$request.post("/insertStandardWorkListJobDescription",this.standardWorkListFrom).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          this.$message.success('插入成功')
          return '插入成功'
        }
      })
    },
    //辅助函数，对标准工作中，根据ID，修改一行数据,修改所有数据
    async upDataStandardWorkList(){
      return  this.$request.post("/upDataStandardWorkListJobDescription",this.standardWorkListFrom).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          this.$message.success('修改成功')
          return '插入成功'
        }
      })
    },
    //辅助函数，对标准工作中，查询出所有数据
    async inquiryStandardWorkListAll(){
      return this.$request.post("/inquiryStandardWorkListAllJobDescription").then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          return result.data
        }
      })
    },
    //辅助函数，对课题中插入一行
    async insertTaskList(){
      return  this.$request.post("/insertTaskListJobDescription",this.taskListFrom).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          this.$message.success('插入成功')
          return '插入成功'
        }
      })
    },
    //辅助函数，对课题中插入一行,修改所有的内容
    async upDataTaskList(){
      return  this.$request.post("/upDataTaskListJobDescription",this.taskListFrom).then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          this.$message.success('修改成功')
          return '插入成功'
        }
      })
    },
    //辅助函数，对课题中筛选出所有的数据
    async inquiryTaskListAll(){
      return  this.$request.post("/inquiryTaskListAllJobDescription").then(result=>{
        if (result.code === 401) {
          this.$router.push('UserLogin')
          alert("您未登录，请登录")
        } else {
          return result.data
        }
      })
    }
  },
  mounted() {
    this.inquiry()
    //数据清空
    this.tableDataForm={}
    this.tableData=[]
    this.taskListData=[]
    this.standardWorkListData=[]

    this.inquiryStandardWorkListAll().then(data=>{
      this.standardWorkListData=data
    });
    this.inquiryTaskListAll().then(data=>{
      this.taskListData=data
    })
  },
  //组件销毁前的函数
  beforeDestroy() {
    // 组件销毁前，销毁 wangEditor 实例
    if (this.editor) {
      this.editor.destroy();
      this.editor = null;
    }
  },
}
</script>

<style scoped>
/* 主体左侧的工作步骤栏用到的数据包围的div的样式*/

.el-footer {
  background-color: #ffffff;
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
  border-left-color: white;
  border-top: white;
}

.el-aside {
  background-color: #ffffff;
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
  height: 89vh;
}

.el-main {
  color: #333;
  text-align: center;
  border-width: 3px; /* 设置边框宽度为3像素 */
  border-color: blue; /* 设置边框颜色为蓝色 */
  border-left-color: white;
  border-style: solid; /* 设置边框样式为实线 */
  padding: 10px; /* 添加内边距 */
}

body > .el-container {
  margin-bottom: 40px;
}

.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
  line-height: 260px;
}

.el-container:nth-child(7) .el-aside {
  line-height: 320px;
}

.headMain{
  color: #ffffff; /* 设置字体颜色为红色 */
  font-size: 18px;
}
.center-text {
  /* 使用 margin-left 和 margin-right auto 来实现居中效果 */
  margin-left: auto;
  margin-right: auto;
  /* 注意：如果 header 内只有这两个元素，你可能不需要 margin-right: auto */
}

/*自定义样式*/
/* 调整表单标签对齐方式 */
.el-form-item__label {
  padding: 0 12px 0 0;
  text-align: right;
}

/* 优化数字输入框样式 */
.el-input-number {
  width: 100%;
}
.el-input-number.is-controls-right .el-input__inner {
  padding-left: 15px;
  padding-right: 30px;
}

</style>